#!/usr/bin/ash

#########################################
# Acceso a ACLs por parte de un usuario #
#########################################

# intento escribir un acl de archivos ajenos
acl_set testd_root ast 111000
if [ $? -eq 2 ]; then echo "OK"; else echo "ERROR!"; fi

# intento leer un acl de archivos ajenos
acl_get testd_root
if [ $? -eq 2 ]; then echo "OK"; else echo "ERROR!"; fi

# intento eliminar una linea de un acl ajeno
acl_del testd_root ast
if [ $? -eq 2 ]; then echo "OK"; else echo "ERROR!"; fi

# intento borrar un acl de archivos ajenos
acl_clr testd_root
if [ $? -eq 2 ]; then echo "OK"; else echo "ERROR!"; fi



# escribo un acl en un archivo propio
acl_set testf_ast ast 111000
if [ $? -eq 0 ]; then echo "OK"; else echo "ERROR!"; fi

# leo un acl en un archivo propio
acl_get testf_ast
if [ $? -eq 0 ]; then echo "OK"; else echo "ERROR!"; fi

# borro un acl propio
acl_del testf_ast ast
if [ $? -eq 0 ]; then echo "OK"; else echo "ERROR!"; fi

# elimino un acl
acl_clr testf_ast
if [ $? -eq 0 ]; then echo "OK"; else echo "ERROR!"; fi


#########################################
# Accesos especiales permitidos por ACL #
#########################################

# accedo a archivos donde no podria si no fuera por el acl
echo "123" > testf_root
if [ $? -eq 0 ]; then echo "OK"; else echo "ERROR!"; fi

ls testd_root
if [ $? -eq 0 ]; then echo "OK"; else echo "ERROR!"; fi

# intento acceder a archivos donde podria si no fuera por el acl
echo "123" | cat testf_root2
if [ $? -eq 1 ]; then echo "OK"; else echo "ERROR!"; fi

ls testd_root2
if [ $? -eq 1 ]; then echo "OK"; else echo "ERROR!"; fi


echo
echo "---------------------------------------------------------------------------"
echo "Tests finalizados!"
echo "---------------------------------------------------------------------------"
